import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;

//package work.rightAnswer;
//
//import java.util.ArrayList;
//import java.util.Arrays;
//import java.util.Comparator;
//import java.util.List;
//
//class Solution_56 {
//    public int[][] merge(int[][] intervals) {
//
//        //根据第一个数字，从小到大排序
//        Arrays.sort(intervals, Comparator.comparingInt(a -> a[0]));
//
//        //储存结果
//        List<int[]> list = new ArrayList<>();
//
//        //遍历intervals，left表示左边界，right表示右边界。
//        //初始化left = intervals[0][0]，right = intervals[0][1]
//        //1.如果intervals[i][0]<=right,left不变，right = Math.max(right,intervals[i][1]);
//        //2.如果intervals[i][0]>right,list.add(new int[]{left,right});left = intervals[i][0],right = intervals[i][1];
//        int left = intervals[0][0];
//        int right = intervals[0][1];
//        for (int i = 1; i < intervals.length; i++) {
//            if(intervals[i][0]<=right){
//                right = Math.max(right,intervals[i][1]);
//            }else {
//                list.add(new int[]{left,right});
//                left = intervals[i][0];
//                right = intervals[i][1];
//            }
//        }
//        list.add(new int[]{left,right});
//
//        return list.toArray(new int[][]{});
//    }
//}